Model checking for a multi-execution memory model
نویسندگان
چکیده
Multi-execution memory models, such as Promising and Weakestmo, are an advanced class of weak consistency models that justify certain outcomes a concurrent program by considering multiple candidate executions collectively. While this key characteristic allows them to support effective compilation hardware wide range compiler optimizations, it makes reasoning about substantially more difficult. In particular, we observe Weakestmo inhibit model checking because they allow some suprisingly behaviors cannot be generated examining one execution at time. We therefore introduce Weakestmo2, strengthening constraining its multi-execution nature, while preserving the important properties Weakestmo: DRF theorems, correctness local transformations. Our rules out surprisingly behaviors, which attempt characterize with help two novel properties: load buffering race freedom certification locality. addition, develop WMC, checker for Weakestmo2 performance close best tools per-execution models.
منابع مشابه
Symbolic Execution and Model Checking for Testing
Subsumption • Symbolic execution with subsumption checking – Not enough to ensure termination – An infinite number of symbolic states • Our solution – Abstraction • Store abstract versions of explored symbolic states • Subsumption checking to determine if an abstract state is re-visited • Decide if the search should continue or backtrack – Enables analysis of under-approximation of program beha...
متن کاملinvestigating the feasibility of a proposed model for geometric design of deployable arch structures
deployable scissor type structures are composed of the so-called scissor-like elements (sles), which are connected to each other at an intermediate point through a pivotal connection and allow them to be folded into a compact bundle for storage or transport. several sles are connected to each other in order to form units with regular polygonal plan views. the sides and radii of the polygons are...
A Precise Memory Model for Low-Level Bounded Model Checking
Formalizing the semantics of programming languages like C or C++ for bounded model checking can be cumbersome if complete coverage of all language features is to be achieved. On the other hand, low-level languages that occur during translation (compilation) have a much simpler semantics since they are closer to the machine level. It thus makes sense to use these low-level languages for bounded ...
متن کاملTableaux and Model Checking for Memory Logics
Memory logics are modal logics whose semantics is specified in terms of relational models enriched with additional data structure to represent memory. The logical language is then extended with a collection of operations to access and modify the data structure. In this paper we study their satisfiability and the model checking problems. We first give sound and complete tableaux calculi for the ...
متن کاملMulti-Valued Model Checking via Classical Model Checking
Multi-valued model-checking is an extension of classical model-checking to reasoning about systems with uncertain information, which are common during early design stages. The additional values of the logic are used to capture the degree of uncertainty. In this paper, we show that the multi-valued -calculus model-checking problem is reducible to several classical model-checking problems. The re...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on programming languages
سال: 2022
ISSN: ['2475-1421']
DOI: https://doi.org/10.1145/3563315